package tt.com.carmanager.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.http.ResponseEntity;
import tt.com.carmanager.vo.TeamTimeVo;
import tt.com.common.model.DriveTask;
import tt.com.common.model.YxCommonDrivetaskGoods;
import tt.com.common.model.YxCommonWarehouseGoods;
import tt.com.common.util.CommonResult;
import tt.com.common.util.PageUtil;

import java.util.List;

public interface FuneralDriverTaskService extends IService<DriveTask> {

    /**
     *  通过权限身份显示任务列表
     * @param username 用户账号
     * @return
     */
    List<DriveTask> showTaskByUserName(String username);

    /**
     * 分页显示任务列表
     * @param pageUtil
     * @return 分页后的数据信息  默认每页10条
     */
    PageUtil showTaskByPage(PageUtil pageUtil);


    /**
     * 刷新数据--通过权限身份显示任务列表
     * @param username
     * @return
     */
    List<DriveTask> showTaskRefreshByUserName(String username);


    /**
     * 逻辑删除 更改data_status
     * @param taskId 任务列表id
     * @param delUserId 刪除用户id
     * @return 是否删除成功
     */
    Boolean showTaskDeleteById(String taskId, String delUserId);


    /**
     * 选择任务出车时间
     * @param driveTask 任务列表 传Id和出车的时间
     * @return boolean
     */
    Boolean showTaskChooseStart(DriveTask driveTask);

    /**
     * 选择任务回车时间
     * @param driveTask 任务列表 传Id和出车的时间
     * @return boolean
     */
    Boolean showTaskChooseReturn(DriveTask driveTask);


    /**
     * 出车物品选择
     * @param drivetaskGoods 所需携带的物品
     * @param taskId  选择出车物品对应的接运任务id
     * @return CommonResult
     */
    CommonResult chooseDriveGoods(List<YxCommonDrivetaskGoods> drivetaskGoods, String taskId);

    /**
     * 根据id返回当前任务的总金额
     * @param teamTimeVo
     * @return CommonResult
     */
    CommonResult countCostByTeamId(TeamTimeVo teamTimeVo);
}
